At this point, you hopefully have a much better idea about how a .NET assembly is hosted by the CLR. To summarize the key points:
If the previous pages have seemed to be a bit too low level for your liking, fear not. For the most part, the .NET runtime automatically deals with the details of processes, application domains, and contexts on your behalf. The good news, however, is that this information provides a solid foundation for understanding multithreaded programming under the .NET platform.